package com.qf.mvc2203.controller;

import com.qf.mvc2203.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@RestController //作用1.跟Controller一样 作用2:所有方法返回的都是数据，
// 等价于把所有的方法都添加了@ResponseBody
//@Controller
@RequestMapping("/json")
public class JsonController {
    /*
     * 测试返回json数据
     * */
    @RequestMapping("/test1")
    //@ResponseBody //代表返回的不是页面
    public User test1(User user) {
        System.out.println(user);
        return user;
    }

    /*
     * 返回集合
     * */
    @RequestMapping("/test2")
    //@ResponseBody
    public List<User> test2(User user) {
        ArrayList<User> users = new ArrayList<>();
        users.add(new User(1, "zhangsan", new Date(), false, null,null,11110.126));
        users.add(new User(2, "lisi", new Date(), false, null,null,11110.126));
        return users;
    }

    /*
     * 返回字符串
     * */
    @RequestMapping(value = "/test3", produces = "text/html;charset=utf-8")//防止中文乱码
    //@ResponseBody
    public String test3() {
        System.out.println("JsonController test3");
        return "你好";
    }

    /*
     * 接收请求体中的json，并转换成java对象
     * */
    @RequestMapping("/test4")
    public User addUser(@RequestBody User user) {
        System.out.println(user);
        return user;
    }
}















